#ifndef __CHESSBOARD_H
#define __CHESSBOARD_H

#include <array>

using std::array;

/// \brief chessboard class
/// 
/// Detailed description.
class Chessboard{
public:
	enum GridType { black, white, nothing };
	static const unsigned chessboardSize = 15;

	Chessboard();

	void show() const;
	void set(unsigned row, unsigned col, GridType t);
	GridType get(unsigned row, unsigned col) const;


private:

	array<array<GridType, chessboardSize>, chessboardSize> m_grids;

};

/// Set (row, col) to be GridType t
inline void Chessboard::set(unsigned row, unsigned col, GridType t){
	m_grids[row][col] = t;
}

/// Get the GridType in (row, col)
inline GridType Chessboard::get(unsigned row, unsigned col) const{
	return m_grids[row][col];
}

#endif
